Администрация
Учебно-методическое пособие
М., в/ч 33965, 1999, - 80 с. с илл.
В пособии представлены основные сведения о технологии высокоскоростных асинхронных сетей АТМ. Пособие будет полезно слушателям факультета специальной техники при изучении современных сетевых технологий.
Табл. 2, рис. 58
С технической точки зрения появление асинхронного метода переноса (Asynchronous Transfer Mode - АТМ) предопределил тот факт, что практически все виды трафика создают неравномерную по интенсивности нагрузку.
В качестве примера рассмотрим речевой сигнал. Во время обычного двухстороннего телефонного разговора уровень речевого сигнала каждого из абонентов непостоянен и имеют место как межслоговые, межслововые и межфразные паузы, так и промежутки молчания на время прослушивания собеседника.
В целом, передача речевого сигнала от одного из собеседников осуществляется примерно в течении 40% общего времени разговора. Очевидно, было бы желательно передавать речевой сигнал только в периоды его активности и не занимать канал связи на время пауз в речи. Данный факт был использован уже в начале 60-ых годов для создания систем передачи со статистическим уплотнением, что позволило повысить эффективность использования дорогих подводных межконтинентальных линий связи почти вдвое.
В то же время представляется весьма заманчивым использовать периоды молчания и паузы в речевом сигнале для передачи других типов сигналов (данные, видео и пр.).
Однако, такие сигналы по сравнению с речевым создают крайне неравномерную по интенсивности нагрузку.
Традиционным способом передачи неравномерной нагрузки является тот или иной вид коммутации сообщений (пакетов).
Пакеты АТМ называются ячейками (cell), так как все они имеют фиксированную длину. Длина ячеек АТМ равна 53 байтам (октета), из которых 48 байт отводится для передачи информации (нагрузки) и 5 байт для заголовка. Информация, содержащаяся в 5 байтах заголовка, достаточна для доставки сетью каждой ячейку по назначению.
Сеть АТМ является инфраструктурой, предназначенной для транспортирования ячеек. В качестве аналогии из транспортирования грузов можно привести систему контейнерных перевозок.
Рассмотрим пример сети АТМ. В данном случае мы имеем сигналы речи, данных и видеосигналы, которые необходимо передать через сеть, а также устройства, преобразующие эти сигналы в ячейки и обратно. Ячейки мультиплексируются в один поток, который по линии связи поступает в “облако” сети АТМ. Сеть АТМ коммутирует и доставляет ячейки по назначению.
Используя инфраструктуру коммутации ячеек, возможно добавлять новые типы нагрузки без изменения самой инфраструктуры. Поскольку пользователь взаимодействует только с пограничными устройствами, то для изменения (введения) нового типа нагрузки достаточно модифицировать только эти пограничные устройства. Это одна из положительных сторон технологии АТМ. При необходимости без затруднений можно производить изменение или расширение сети.
Иногда возникает путаница в использовании понятий АТМ и B-ISDN. Эти понятия родственны, поскольку АТМ появился в результате усилий по стандартизации B-ISDN. По сути АТМ является технологией, на которой основывается B-ISDN.
Обычно термин “B-ISDN” используют применительно к глобальным транспортным службам, но не применяется по отношению к локальным сетям и университетским (campus) сетям, даже если в качестве базовой технологии используется АТМ. Естественно, преимущества АТМ сохраняются также и в сетях данного масштаба.
Рассмотрение принципов работы пограничных устройств АТМ начнем с устройств, преобразующих речевой сигнал в ячейки и обратно. Несмотря на то, что мощность речевого сигнала является переменной величиной, практически все современные способы цифрового представления речевых сигналов образуют битовый поток с постоянной скоростью передачи, например 64 Кбит/с при использовании стандартной ИКМ. Данный цифровой поток необходимо преобразовать в ячейки. Пограничное устройство “разрезает” цифровой поток на отдельные ячейки для передачи через сеть.
В качестве примера (см. рисунок) допустим, что одна ячейка несет 8 бит (а не 53 байта) информации. Биты собираются порция за порцией, помещаются в ячейку и направляются в сеть. Заметим, что несущие информацию ячейки могут перемежаться пустыми, поскольку скорость цифрового речевого потока обычно значительно ниже, чем скорость передачи в линии. Следовательно, необходимы “пустые” ячейки. (Пустые ячейки занимают временные позиции, в течение которых могла бы передаваться другая информация). Ячейки проходят через сеть и попадают в линию принимающего пограничного устройства.
Заметим, что расстояние между ячейками несколько изменилось. Этот факт отражает статистическую (асинхронную) природу АТМ и не является проблемой, поскольку данные изменения обычно незначительны. (Ниже будут рассмотрены эффекты, возникающие при изменении величины задержки ячеек).
Сеть АТМ сохраняет порядок передачи ячеек. Иногда ячейки могут теряться, но порядок ячеек сохраняется. Принимающее пограничное устройство воспринимает поток ячеек и преобразует его в исходный битовый поток.
При передаче данных информация обычно уже разбита на пакеты. Процесс преобразования в ячейки аналогичен рассмотренному выше. Однако, в данном случае имеется некоторое отличие, поскольку информация поступает значительными “порциями”. Ячейки, несущие информацию одного пакета, передаются в сеть сгруппировано. При выходе из сети они могут перемежаться другими ячейками. Тем не менее сборка содержимого ячеек в исходный пакет не представляет затруднений, поскольку содержимое ячеек, несущих другую информацию, просто не включается в собираемый пакет.
АТМ основывается на многоуровневой архитектуре.
Нижним уровнем является физический (PHY). Подробно различные типы физического уровня АТМ будут рассмотрены в следующем разделе.
Над физическим уровнем располагается уровень АТМ. На данном уровне присутствуют ячейки.
Над уровнем АТМ располагается уровень адаптации АТМ (ATM Adaptation Layer - AAL). Данный уровень реализуется в конечных системах и является прозрачным для сети АТМ. Под прозрачностью понимается то, что служебная информация уровня AAL располагается внутри 48 байт нагрузки ячейки и сеть не анализирует эту информацию.
Поскольку сеть АТМ должна осуществлять доставку информации различного типа, предусмотрено несколько различных уровней AAL. Некоторые из них будут рассмотрены ниже.
Ячейки АТМ транспортируются через физический уровень.
С тех пор как начали развиваться стандарты АТМ, появилось несколько спецификаций физических уровней, которые хорошо применимы внутри здания и практически не применимы для доступа к сети общего пользования. Подключение к сети АТМ общего пользования осуществляется посредством “интерфейса пользователь-сеть сети общего пользования” (public user-network interface). Подключение к корпоративному коммутатору АТМ, входящему в состав корпоративной сети АТМ предприятия, осуществляется посредством “частного интерфейса пользователь-сеть” (private user-network interface). Имеется тенденция использования различных физических интерфейсов для private UNI и для public UNI.
В таблице приведены физические уровни, применяемые в качестве private UNI. Их достаточно много, что демонстрирует одну из сильных сторон АТМ: отсутствие жесткой ориентации на единственный физический уровень. Спектр возможных уровней достаточно широк: от интерфейса со скоростью 25 Мбит/с на основе неэкранированного симметричного кабеля категории 3 до интерфейса со скоростью 622 Мбит/с на основе оптического волокна.
Заметим, что физический уровень STM-1 может применяться в обоих типах интерфейсов.
Интерфейсы private UNI физического слоя Форума АТМ |
||
Формат кадра |
Скорость/ Линейная скорость |
Среда передачи |
Поток ячеек |
25.6 Мбит/с / 32 Мбод |
UTP3 |
STS-1 |
51.84 Мбит/с |
UTP3 |
FDDI |
100 Мбит/с / 125 Мбод |
MMF |
STM-1, STS-3c |
155.52 Мбит/с |
UTP5, STP |
STM-1, STS-3c |
155.52 Мбит/с |
SMF, MMF, CP |
Поток ячеек |
155.52 Мбит/с / 194.4 Мбод |
MMF, STP |
STM-1, STS-3c |
155.52 Мбит/с |
UTP3 |
STM-4, STS-12 |
622.08 Мбит/с |
SMF, MMF |
UTP3 - неэкранированный симметричный кабель категории 3;
UTP5 - неэкранированный симметричный кабель категории 5;
STP - неэкранированный симметричный кабель;
MMF - многомодовое оптоволокно;
SMF - одномодовое оптоволокно.
В данном интерфейсе применяются форматы передачи, типичные для телефонных сетей, такие как T1 и T3 в Северной Америке, Е1 и Е3 в Европе, J1 в Японии.
Пусть предполагается подключение к магистральной сети. Обычно магистральные сети уже имеют оборудование указанного типа. Поэтому экономически целесообразно использовать традиционно применяемые в магистральных сетях интерфейсы.
Наряду с физическими уровнями, соответствующими плезиохронной цифровой иерархии, специфицированы физические уровни синхронной цифровой иерархии, а также дробные (fractional) потоки Т3/Е3. Окончательные детали некоторых спецификаций еще не утверждены. В таблице этот факт отмечен звездочкой.
Отметим, что в данном интерфейсе скорости ниже по сравнению с private UNI. Основной причиной этого является относительная дороговизна пропускной способности сетей общего пользования, и, следовательно, относительно большой потребности в низкоскоростном доступе к сетям общего пользования.
Интерфейсы public UNI физического слоя Форума АТМ |
||
Формат кадра |
Скорость/ Линейная скорость |
Среда передачи |
DS-1 |
1.544 Мбит/с |
TP |
DS-3 |
44.736 Мбит/с |
CP |
STM-1, STS-3c |
155.52 Мбит/с |
SMF |
Е1 |
2.048 Мбит/с |
TP, CP |
Е3 |
34.368 Мбит/с |
CP |
J2 |
6.312 Мбит/с |
CP |
n´ T1* |
n´ 1.544 Мбит/с |
TP |
n´ E1* |
n´ 2.048 Мбит/с |
TP |
TP - симметричный кабель;
CP - коаксиальный кабель.
Физический уровень АТМ имеет существенное архитектурное отличие от привычного по хорошо известной эталонной модели взаимодействия открытых систем (ЭМ ВОС). В ЭМ ВОС физический уровень имеет дело с отдельными “атомами” - битами, передавая их через среду.
В АТМ “атомами” являются ячейки и сеть АТМ оперирует именно с ячейками. Следовательно, часть функций по обработке ячеек должны быть отнесены к физическому уровню. Совокупность данных функций образуют подуровень преобразования передачи (Transmission Convergence Sublayer - TCS).
Подуровень TCS располагается над подуровнем, ориентированным на среду передачи (Physical Medium Dependent Sublayer - PMD). Подуровни PMD ориентированы на определенную среду передачи и отвечают за стандартные функции физического уровня, такие как типы соединителей, способы кодирования и пр.
Подуровень TCS определяет границы ячеек (delineation). Если имеется битовый поток, то в данном потоке необходимо выделить ячейки.
Можно представить себе сеть АТМ в образе вечно голодного тюленя, который все время глотает рыбок (в нашем случае - ячейки). Если Вы имеете ячейки для передачи, т.е. есть данные, которые необходимо передать, то Вы “скармливаете” ячейки сети АТМ. Если у Вас нет ячеек, т.е. передано все, что хотелось, то Вы все равно должны продолжать передавать ячейки, чтобы сохранить работоспособность сети. В последнем случае используются так называемые “пустые” ячейки. Одной из функций подуровня TCS является вставка пустых ячеек на передаче и их изъятие на приеме с целью поддержания постоянства потока ячеек.
Для разных сред передачи виды подуровней TCS различаются и зависят от подуровней PMD.
Рассмотрение физических уровней начнем с синхронной цифровой иерархии (Synchronous Digital Hierarchy - SDH), которая является наиболее популярной средой для АТМ.
SDH осуществляет контейнерный перенос информационных потоков независимо от конкретной среды. Обычной физической средой для SDH является оптическое волокно. Кроме оптоволокна средой передачи может служить радиолиния (STM-RR). Форумом АТМ прорабатывается возможность использования в качестве физической среды для SDH неэкранированного симметричного кабеля.
Рассмотрим синхронный транспортный модуль (Synchronous Transport Module - STM) SDH первого уровня STM-1. Он изображается в виде таблицы из 9 строк и 270 столбцов. Каждая ячейка таблицы представляет собой один байт (октет), несущий информацию со скоростью 64 кбит/с. Передача бит STM осуществляется последовательно слева направо сверху вниз. Длительность STM составляет 125 мкс.
Первые девять столбцов STM-1 предназначены для передачи служебной информации. В частности, в первых двух байтах передается синхросигнал. Кроме того, для служебных целей в ряде случаев может использоваться еще один столбец.
В результате для передачи нагрузки (ячеек) остается 260 столбцов по 9 строк по 64 кбит/с, т.е. скорость передачи ячеек составляет 149,76 Мбит/с.
SDH имеет прекрасные возможности по масштабируемости и в настоящее время стандартизированы синхронные транспортные модули более высоких порядков: STM-4 (622 Мбит/с) и STM-16 (2,5 Гбит/с). Ожидается принятие стандарта STM-64 со скоростью передачи 10 Гбит/с.
Определение границ ячеек при использовании SDH производится по контрольной сумме заголовка ячейки (HEC).
Данная операция аналогична поиску синхросигнала. При определении границ ячейки приемник предполагает, что имеющиеся в настоящий момент 5 байт являются заголовком, подсчитывает контрольную сумму по первым четырем байтам и сравнивает результат с пятым. Если суммы совпадают, то приемник отсчитывает 48 байт и вычисляет контрольную сумму снова. При выполнении данного условия несколько раз подряд можно считать, что границы ячеек определены правильно. Если контрольные суммы не совпадают, производится сдвиг временного окна и поиск продолжается. Вероятность того, что контрольная сумма будет правильно подсчитана по находящимся в информационной части ячейки пользовательским данным исчезающе мала.
Рассмотрим случай, когда ячейка содержит одни нули. В этом случае контрольная сумма, вычисленная с помощью обычного циклического кода, будет также равна нулю. Следовательно, вычисление контрольной суммы должно проводиться по алгоритмам, отличным от простого циклического кода.
Конкретной реализацией алгоритма является вычисление контрольной суммы с помощью циклического кода с последующим поразрядным сложением контрольной суммы по модулю 2 с определенной “маской”. Даже в случае нулевой контрольной суммы результат будет отличен от нулевого. На приеме перед вычислением контрольной суммы маска снимается.
Результирующая скорость передачи нагрузки (без учета заголовков ячеек) при использовании STM-1 составляет около 135 Мбит/с. (Реально скорость передачи оказывается несколько ниже и в значительной степени зависит от уровня AAL, что подробнее будет описано ниже).
Операторы магистральных сетей Северной Америки могут предлагать для АТМ поток T1. Формат кадра T1 содержит 24 последовательно идущих байта (октета) и один бит заголовка для целей синхронизации. Применяется специальный порядок следования битов заголовка, что позволяет их идентифицировать, и тем самым определить структуру кадра.
Рассмотрим вопрос определения границ ячеек.
Ячейки располагаются внутри байт нагрузки T1. В кадре только 24 байта, т.е. ячейка располагается в нескольких кадрах T1: 24 байта ячейки в первом кадре, 24 - во втором и оставшиеся 5 байт - в третьем. Далее в третьем блоке располагаются байты следующей ячейки и т.д. Каким же образом определить границы ячеек? Ответ: тем же образом, как и при SDH. Производится слежение окном 5 байт, подсчет контрольной суммы и проверка на совпадение со значением поля HEC.
Как показано на рисунке, скорость передачи нагрузки (ячеек) с помощью T1 составляет около 1.4 Мбит/с.
Цифровой поток T3 плезиохронной цифровой иерархии является еще одним важным интерфейсом АТМ (по крайней мере для США, где он будет оставаться доминирующим в течение нескольких ближайших лет). Несмотря на преимущества технологии SDH, данные сети не получили достаточно широкого распространения, в то время как системы плезиохронной цифровой иерархии широко эксплуатируются на сетях связи.
Рассмотрим структуру кадра передачи T3. Передача бит осуществляется последовательно слева направо сверху вниз. Первый бит кадра несет служебную информацию, затем следуют 84 бита информационной нагрузки, затем еще один бит служебной информации и так далее. Длительность кадра составляет 106,4 мкс. Скорость передачи нагрузки составляет 44,21 Мбит/с.
В данном случае имеется битовый поток блоками по 84 бита. Необходимо анализировать данный поток бит, чтобы определить границы ячеек. Кроме того, желательно иметь кадр длительностью 125 мкс с точки зрения совместимости с SDH и системами плезиохронной цифровой иерархии. В процессе обработки кадра DS-3 осуществляется как определение границ ячеек, так и разбиение на кадры по 125 мкс.
Эти операции осуществляются с помощью специального заголовка кадра, состоящего из двух байт синхросигнала, байта номера кадра и байта признака вставки. Приемник начинает определение границ ячеек с поиска синхросигнала, после чего считывает номер кадра. Затем пропускаются следующие за номером кадра 54 байта. За этими байтами должен опять следовать синхросигнал и очередной на единицу меньший номер кадра. Если это так, то считается, что границы ячеек определены. Тем не менее, приемник продолжает проверять границы ячеек по указанному алгоритму для подтверждения временной позиции начала ячеек в кадре DS-3.
Длительность кадра увеличивается со значения 106,4 мкс до 125 мкс вставкой размером 13 или 14 бит. Длина вставки определяется байтом признака вставки.
Скорость передачи нагрузки в данном случае составляет около 37 Мбит/с.
Интерфейс Е1 очень широко распространен в Европе.
На рисунке приведен формат кадра Е1. Кадр содержит 32 байта (октета), повторяющихся с периодом 125 мкс. Байты 0 и 16 используются для синхронизации и других служебных целей. Остальные 30 байт используются для передачи ячеек.
Следовательно, данный физический уровень может переносить ячейки со скоростью 1.920 Мбит/с.
Для определения границ ячеек так же, как и в случае SDH и T1, используется поле HEC.
На рисунке показан один кадр потока Е3. Его длительность составляет 125 мкс. Кадр содержит 9 строк по 59 байт в каждом и 6 дополнительных байт для передачи сигналов синхронизации и служебной информации. Скорость потока составляет 34.368 Мбит/с. Емкость по переносу ячеек составляет 33.92 Мбит/с.
Для определения границ ячеек также используется HEC.
Этот физический уровень применяется в магистральных сетях Японии. Хотя скорость потока J2 аналогична североамериканскому потоку DS2, использование битов этих потоков отличается.
На рисунке показаны четыре кадра длительностью 125 мкс. Каждый кадр содержит 98 восьмибитных канальных интервала (784 бита) и 5 бит заголовка (биты F), следующие в специальном порядке. Два последних канальных интервала не используются для переноса ячеек.
Синхронизация осуществляется по битам F. Определение границ ячеек - по HEC.
Физическим уровнем с наименьшей скоростью private UNI является интерфейс 25 Мбит/с на основе неэкранированного симметричного кабеля категории 3. Этот уровень был разработан специально с целью возможности использования существующей кабельной проводки внутри здания для соединения рабочего места пользователя и кабельного шкафа. Таким образом, данный интерфейс позиционируется как АТМ пользователя (desktop ATM).
Основой для данного интерфейса послужил физический уровень протокола Token Ring. Он был модифицирован следующим образом.
Во-первых, применяется линейный блочный код 4В/5В. Каждые 5 символов линейного кода несут 4 бита информации, всего имеется 32 возможных комбинаций 5-символьных блоков. Из них 16 используется для передачи информации, а оставшиеся 16 - для целей управления. В результате применения линейного кода 4В/5В повышается эффективность использования линейного спектра физического сигнала 32 Мбод по сравнению с Token Ring и составляет 32´ (4/5)=25 Мбит/с. Напомним, что в стандарте Token Ring используется код с избыточностью 2 и скорость передачи информации составляет 16 Мбит/с.
Определение границ ячеек производится следующим образом. Из состава служебных символов выделяется специальный символ (символ Х). Данный символ помещается перед ячейкой. Поскольку содержимое ячейки кодируется 16-ю "информационными" символами и среди них не встречается символа Х, приемник легко определяет границы ячейки. Символ Х повторяется дважды.
Другой особенностью, отличающей физический уровень 25 Мбит/с от Token Ring, является использование скремблирования с предустановкой. Если предустановка скремблера на приеме не требуется, то вместо второго символа Х передается символ 4.
Предусмотрен еще один интерфейс со скоростью передачи 155 Мбит/с, основанный на использовании так называемого линейного кодирования 8В10В. Скорость передачи была специально выбрана совпадающей со скоростью передачи STM-1, но способ определения границ ячеек и кодирования бит различаются.
Этот физический интерфейс может применяться при использовании многомодового оптического волокна длиной до 2 км и экранированного симметричного кабеля длиной до 100 м. Экранированный симметричный кабель используется для проводки внутри здания.
Идея линейного кодирования 8В10В сводится к тому, что 10 бодовых (символьных) интервалов в линии несут 8 бит информации. Линейный сигнал обладает наиболее предпочтительной формой спектральной плотности мощности и мало подвержен межсимвольной интерференции.
Определение границ ячеек осуществляется при помощи специального синхросигнала (СС) длительностью 5 символьных интервалов. Синхросигнал уникален и не может повториться в пользовательских данных. Следовательно, его достаточно легко обнаружить и тем самым определить границы ячеек. За синхросигналом следует 48 символьных интервалов, зарезервированных для передачи служебной информации (СИ). За ячейкой СИ следуют 26 ячеек, содержащих информацию пользователей.
Таким образом, имеется повторяющаяся структура из синхросигнала, ячейки СИ, 26 “пользовательских ячеек”, затем опять синхросигнал и т.д.
Скорость передачи ячеек составляет 135,6 Мбит/с, что эквивалентно аналогичному показателю для STM-1.
Это очень удобно. Например, можно использовать симметричный кабель для проводки от рабочего места до распределительного шкафа, а затем осуществить переход к STM-1, используемому в распределенной по площади корпоративной сети. Данный переход может быть осуществлен на физическом уровне соответствующим преобразователем, не нуждающимся в наличии буферов из-за равенства скоростей преобразуемых потоков.
Заметим, что данный блочный код не является изобретением Форума АТМ и соответствует применяемому в стандарте Fiber Channel. Позицией Форума АТМ является применение, по возможности, известных стандартов, пригодных для использования в технологии АТМ.
Существует еще один физический уровень со скоростью передачи 100 Мбит/с. Его параметры соответствуют параметрам технологии FDDI. Так же, как и в FDDI используется линейное кодирование 4В5В, т.е. 5 символьных интервалов кодируют 4 бита информации.
Определение границ ячеек осуществляется поиском специального символьного интервала ТТ. Данный интервал вставляется перед каждой ячейкой и легко обнаруживается приемником, поскольку используется только для целей разграничения и не встречается в ячейках.
В предыдущем разделе был рассмотрен перенос ячеек через физическое соединение с помощью физического уровня АТМ. В данном разделе рассмотрим, что представляют из себя собственно ячейки АТМ и каким образом ячейки достигают получателя.
Управляющие поля ячейки показаны на рисунке.
Первый вопрос, который возникает о размере ячейки, это: “Почему 53 байта?”. Это не часто используемое число, к тому же не очень большое. Рассмотрим причины, почему длина ячейки была выбрана именно такой.
Первая - задержка, возникающая при разбиении данных на пакеты. Рассмотрим обычный цифровой речевой сигнал (ИКМ) со скоростью передачи 64 кбит/с. Речевой сигнал кодируется 8000 отсчетами в секунду. Каждый отсчет представляется в виде слова длиной 8 бит, которое отражает амплитуду аналогового сигнала в данный момент времени. Следовательно, передача 8000 отсчетов по 8 бит в секунду требуют результирующей скорости 64 кбит/с.
Рассмотрим задачу заполнения ячейки. Если ячейка имеет 48 байт нагрузки, то первый отсчет речевого сигнала будет находиться в частично заполненной ячейке в течение 40 периодов дискретизации и после этого будет направлен в сеть. То есть первый отсчет будет задержан на время около 5 мс, прежде чем ячейка будет направлена в сеть. Этот эффект называется “задержка, возникающая при разбиении данных на пакеты” или “задержка пакетизации” (“packetization delay”) и очень важен при работе с трафиком, требующим реального масштаба времени при передаче (изохронный трафик). Типичным примером изохронного трафика является речевой сигнал.
Примером влияния задержки на качество передачи речи может служить ведение переговоров по спутниковому каналу (задержка около 250 мс в одну сторону). Наряду с неудобством ведения переговоров из-за снижения чувства контакта между абонентами возможно возникновение мешающих эхосигналов. Данные проблемы могут возникать и при небольшой задержке порядка 10..100 мс.
Размер ячейки должен быть малым для обеспечения малого времени задержки. Однако, необходим некоторый заголовок ячейки для обеспечения ее доставки по назначению. На рисунке показана зависимость процентной величины заголовка в пакете при использовании заголовка длиной 5 байт от размера (числа байт) нагрузки.
С другой стороны, нельзя сильно уменьшать длину ячейки, чтобы не терять эффективность.
Следовательно, при выборе длины ячейки необходимо найти компромисс между приемлемой величиной задержки и достаточно высокой эффективностью. При использовании заголовка длиной 5 байт и 48 байт нагрузки размер заголовка составляет около 10%.
Кроме абсолютной величины задержки очень важным параметром является изменение величины задержки, называемый также “вариация задержки” или “джиттер задержки” (delay variation).
В качестве примера рассмотрим источник сообщений длиной 100 байт, которые необходимо передавать с помощью цифрового потока DS-3. Будем рассматривать не всю сеть, а только одно соединение. Предположим также, что данное соединение используют совместно с данным еще 100 источников сообщений. Какие случаи будут наилучшими и наихудшими с точки зрения задержки для сообщения длиной 100 байт?
Наилучшим случаем, является тот, когда в момент появления сообщения от нашего источника отсутствуют сообщения от прочих источников. Сообщение направляется в линию практически без задержки.
Наихудшим является случай одновременной активности всех источников. При этом необходимо ждать пока все прочие источники отправят свои ячейки: посылается одна ячейка, ожидается пока свои ячейки отправят остальные 100 источников, затем посылается следующая ячейка и т.д.
Рассмотрим этот наихудший случай. Если длина нагрузки в ячейке мала, то необходимо передавать много ячеек и эффективность передачи мала. Если длина нагрузки в ячейке велика, то приходится долго ждать, пока прочие источники завершат передачу своих ячеек.
В качестве аналогии можно привести время ожидания проходящего поезда на железнодорожном переезде. Чем длиннее поезд, тем дольше приходится ждать, пока он пройдет и шлагбаум будет открыт. И, конечно, ждать почти не придется, если вагоны будут следовать раздельно.
По мере увеличения длины ячейки время ожидания доступа к линии растет почти линейно. На рисунке видны некоторые колебания зависимости задержки на ожидание от длины нагрузки ячейки для малых длин ячеек.
Естественно, важный вопрос выбора размера ячейки подвергался интенсивному анализу со стороны многочисленных экспертов.
В Европе определяющим параметром являлась задержка, возникающая при разбиении данных на ячейки. Европейские телефонные сети, в основном, не очень большие и на них практически не используется технология эхокомпенсации. Для европейских операторов нежелательно оборудовать сети эхокомпенсаторами, поэтому они предложили использовать небольшую длину нагрузки ячейки.
На сети Северной Америки технология эхокомпенсации применяется уже давно, поскольку ряд каналов данной сети имеет значительную протяженность. Операторы североамериканской сети предпочитали сделать длину нагрузки в ячейке достаточно большой, чтобы не терять эффективность при достаточно большой доли заголовка в ячейке.
Таким образом сформировались две противоречивые точки зрения. Операторы Северной Америки предложили использовать 64 октета нагрузки и 5 октетов заголовка. Европейские - 32 октета нагрузки и 4 октетов заголовка.
МСЭ-Т, являясь международной организацией, выбрал компромиссное решение: применять в ячейках АТМ 48 октетов нагрузки и 5 октетов заголовка.
Итак, длина ячейки АТМ зафиксирована на 53 байтах. Далее рассмотрим каким образом ячейки перемещаются от источника к получателю.
В заголовке ячейки для этого предусмотрены поля VPI/VCI. На рисунке приведены примеры виртуальных соединений через коммутатор АТМ. Коммутатор имеет таблицу соединений (или таблицу маршрутизации - routing table), которая содержит соответствия между входными и выходными VPI/VCI и портами коммутатора.
При поступлении ячейки коммутатор анализирует значение VPI/VCI в заголовке. Предположим, что входящий VPI/VCI - 0/37. Поскольку ячейка поступила на порт 1, коммутатор анализирует запись в таблице для порта 1 и обнаруживает, что ячейка должна быть направлена в порт 3. Кроме того, при посылке на порт 3 необходимо поменять VPI/VCI ячейки на значение 0/76.
Таким образом, заголовок ячейки меняется при ее прохождении через коммутатор. Конечно, информация (нагрузка) остается без изменений.
Значения VPI/VCI меняются по двум причинам. Во-первых, всего может быть около 17 миллионов значений VPI/VCI. Если сеть очень велика, то данного числа может не хватить для описания соединений всей сети.
Впрочем, возможно более важным является соображение администрирования уникальных значений VPI/VCI в большой сети. Например, как можно гарантировать, что устанавливаемое в Хабаровске новое соединение будет иметь уникальное значение, отличное от всех уже существующих в мире?
Интересно отметить, что оба эти соображения весьма актуальны для глобальной сети Internet, где доступно ограниченное число адресов IP. Если сделать адресное пространство достаточно большим для обслуживания универсальных адресов, то размер заголовка в сравнении с нагрузкой будет неприемлемым.
Значение VPI/VCI является значимым только в отношении данного интерфейса. Действительно, в примере значение “37” используется для обоих интерфейсов, но не возникает двусмысленности, поскольку они являются физически различными. Существует отдельная запись для значения 37 порта 2, которому, конечно, соответствует другой пункт назначения.
Таким образом, комбинация значений VPI/VCI позволяет сети ставить в соответствие конкретную ячейку конкретному соединению, и, следовательно, направлять ячейку по назначению.
Порт |
VPI/VCI |
Порт |
VPI/VCI |
|
Видео |
1 |
0/37 |
3 |
0/76 |
Данные |
1 |
0/42 |
5 |
0/52 |
Видео |
2 |
0/37 |
6 |
0/22 |
Речь |
2 |
0/78 |
4 |
0/88 |
Почему применяются два поля? Виртуальный путь (VPI) - это пучок виртуальных каналов (VCI). Длина VPI составляет 8 бит, т.е. может существовать 256 различных пучков. На рисунке показаны пары виртуальных каналов, объединенные в виртуальные пути. Конечно, виртуальные каналы имеют уникальные значения VCI, но эти значения могут повторяться в каждом из виртуальных путей.
Почему применяются различные значения VPI и VCI? Одно из возможных применений показано на рисунке. Существуют два способа установления соединения на сети АТМ. В рассмотренной выше таблице соединений коммутатора VPI-0/VCI-37 транслируется в VPI-0/VCI-76 с тем же значением виртуального пути.
Предположим, что имеется транспортная сеть и необходимо соединить два пункта посредством АТМ. Очевидно, было бы хорошо иметь пучок соединений. Тогда возможно устанавливать и разъединять виртуальные каналы между двумя пунктами без обращения к транспортной сети и, что более важно, без выполнения протоколов соединения транспортной сети.
В этом собственно и состоит смысл виртуального пути. В приведенном на рисунке примере показан виртуальный путь VPI=3, содержащий два виртуальных канала. Эти виртуальные каналы коммутируются как пучок и направляются далее в сеть без изменения значений VCI.
Сеть не меняет (не обращает внимания) значения VCI и рассматривает только поле VPI. Поле VPI может меняться (что и показано на рисунке), но пучок в целом проходит через сеть как единый объект. При необходимости добавления еще одного канала в пучок должно взаимодействовать только оконечное оборудование. Нет необходимости перенастраивать сеть и обращаться к оператору сети. Такой тип обслуживания называется службой виртуального пути (Virtual Path Service).
Наверное еще не было другого одиночного бита в истории телекоммуникаций, который выполнял бы столько функций и был бы так важен, как бит приоритета потери ячейки (cell loss priority). Во всяком случае, это наиболее важный бит в заголовке ячейки АТМ.
Назначение данного бита следующее. Ячейки с установленным битом CLP будут сброшены до сброса ячеек, у которых данный бит не установлен. Иначе говоря, при наличии данного бита ячейка несет в себе признак “сбрось меня”.
Рассмотрим причины, по которым ячейки могут помечаться как излишние. Во-первых, данный признак может установить терминальное (пользовательское) оборудование. Например, это может быть желательно, когда используются услуги глобальной транспортной сети и имеет место экономическая целесообразность использовать ячейки с низким приоритетом. Также это может использоваться при установке различных приоритетов различным типам трафика, когда используется согласованный уровень услуг.
Кроме того, бит приоритета потери ячейки может быть установлен сетью АТМ. Для уяснения принципов установки данного бита сетью рассмотрим принципы управления трафиком сети АТМ.
Одной из ключевых идей АТМ является гарантия качества обслуживания. Рассмотрим основные категории обслуживания.
Категория постоянной скорости передачи (Constant Bit Rate - CBR) представляет собой эмуляцию соединения. В этом случае сеть АТМ должна переносить непрерывный поток бит (например, 64 кбит/с). В этом случае подразумевается малая задержка и малое изменение задержки.
Категория переменной скорости передачи реального времени (Real-Time Variable Bit Rate - rt-VBR) определяет довольно жесткие требования к задержке, но относительно низкие требования к потере ячеек. Данная категория применима к типам трафика, чувствительным к задержке, но допускающим переменную скорость передачи.
Категория переменной скорости передачи нереального времени (Non-Real-Time Variable Bit Rate - nrt-VBR) является дополнением категории rt-VBR. В этом случае значение задержки не является определяющим, но потери ячеек должны быть крайне малы. Примером такого типа трафика является электронная почта.
Категорию неспецифицированной скорости передачи (Unspecified Bit Rate - UBR) можно характеризовать как “отправляй и молись”, т.к. UBR не предоставляет никаких гарантий.
Категория доступной скорости передачи (Available Bit Rate - ABR) использует управление потоком. Основной целью этой категории обслуживания является малая вероятность потери ячеек в сети.
Сеть АТМ должна однозначно и заблаговременно определять свои ресурсы. Сеть должна поддерживать различные типы трафика и предоставлять услуги различного уровня.
Например, качественная передача речи требует малой задержки и малого джиттера задержки. Сеть должна определить свои ресурсы, чтобы это гарантировать. Решением этой проблемы является так называемое управление трафиком (traffic management).
При установке соединения (канала или пути) терминал устанавливает с сетью соглашение по трафику (traffic contract). Это позволяет сети АТМ или сети оператора проанализировать существующие возможности сети и определить может ли устанавливаемое соединение обеспечить предъявляемые к нему требования. Если ресурсы сети недостаточны, в соединении будет отказано. При наличии ресурсов сеть находит маршрут с достаточной емкостью для обеспечения характеристик трафика.
Пока все выглядит прекрасно, но проблема заключается в том, что характеристики трафика конкретного приложения редко известны точно. Рассмотрим передачу файлов. Казалось бы, что может быть проще. Однако, до начала передачи неизвестно какого размера файлы и как часто предполагается передавать. Следовательно, невозможно заранее определить, какими будут характеристики трафика.
Итак, идея управления трафиком заключается в следующем. Сеть “смотрит”, выполняют ли приходящие ячейки соглашение по трафику. Ячейки, нарушающие соглашение (неконформные ячейки), имеют установленный бит CLP. Это означает, что они являются претендентами на сброс. Однако, это не означает, что неконформные ячейки будут обязательно сброшены, а только то, что они будут сбрасываться первыми при перегрузке сети.
Теоретически, если ресурсы сети определены правильно, сброс всех ячеек с установленным битом CLP будет являться результатом поддержания уровня обслуживания в некоторой точке сети. Следовательно, это является критичным для достижения цели АТМ: для гарантирования качества обслуживания (или нескольких типов качества обслуживания) необходимы различные типы трафика.
Соглашение по трафику основывается на так называемом основном алгоритме скорости ячеек (Generic Cell Rate Algorithm - GCRA). Иногда его называют “дырявое ведро” (continuous leaky bucket), и эта аналогия будет использоваться далее.
Данный алгоритм точно определяет, когда поток ячеек нарушает или не нарушает соглашение по трафику. Рассмотрим последовательность прибывающих ячеек. Эта последовательность обрабатывается для определения того, какая ячейка нарушает соглашение.
Алгоритм определяется двумя параметрами: инкрементный параметр “l” и ограничивающий параметр “L”. Представим ведро с дырой в дне. Одна порция жидкости вытекает из ведра за один период времени.
Параметр “l” управляет тем, как часто порция жидкости может быть налита в ведро. Это также можно представлять, как время, которое должно проходить между ячейками. Следовательно, “скорость” поступления порций жидкости в секунду обратно пропорциональна значению параметра “l”. Чем больше “l”, тем больше время, которое должно пройти между допустимыми порциями, т.е. скорость передачи снижается.
Параметр “L” схож с параметром “l”, за исключением того, что “L” влияет на размер выбросов нагрузки, которые могут быть обслужены. Таким образом, “l” и “L” вместе определяют размер ведра.
Предположим, что l=1. В этом случае ячейка может быть передана сразу же после того, как она появилась на приемном порту, т.е. скорость передачи ячеек равна скорости канала (линии). Если l=2, то ячейка может быть передана в каждый второй промежуток времени, т.е. скорость передачи ячеек будет составлять половину скорости канала (линии). (Здесь, для простоты, мы игнорируем параметр “L”). Таким образом, 1/l представляет собой допустимую скорость передачи ячеек как часть скорости передачи ячеек в линии. Другими словами, скорость передачи ячеек (ячейки/сек) = (1/l) ´ скорость передачи ячеек в линии (ячейки/сек).
Чтобы быть чуть более конкретными, представим, что в ведро наливается вода и что из ведра через дыру выливается один литр воды в единицу времени (за время передачи ячейки). Каждый раз, когда в сеть для данного соединения поступает ячейка, то сидящий рядом с ведром контролер трафика выливает в ведро “l” литров воды. Конечно, вода начинает вытекать.
Если l=2, то только одна из двух ячеек приводит к помещению порции воды в ведро. Другая ячейка может содержать “воду” для другого интерфейса или она может быть просто “пустой”.
Если ведро изначально пусто, то в него может поместиться много порций воды, но в конце концов оно заполнится. Конечно хорошо, если это случится попозже. Общая скорость, которая может быть обслужена, зависит от разницы между величиной “l” и скоростью вытекания. “l” определяет общую (“долгосрочную”) скорость передачи ячеек. “L” определяет размер неравномерности нагрузки, поскольку он определяет размер ведра. Следовательно, “L” определяет каким образом ячейки проходят через сеть. Это иллюстрируется двумя следующими подразделами.
Рассмотрим работу алгоритма GCRA на примере равномерного трафика.
На диаграмме показано поступление ячеек, а также состояние ведра до (t-) и после (t+) поступления ячейки.
Предположим, что ведро пусто и поступает ячейка для данного соединения. Наливаем полтора литра воды в ведро. (Каждой ячейке соответствует полтора литра. Это инкрементный параметр “l”. Однако, за единицу времени может выливаться только один литр.) Ко времени поступления следующей ячейки выливается один литр и в ведре остается пол-литра воды. Доливаем в ведро еще полтора литра, соответствующих второй поступившей ячейке. Теперь ведро содержит пол-литра от предыдущей ячейки и полтора - от поступившей, т.е. ведро заполнено.
Если в следующей момент поступит ячейка, то она будет нарушать соглашение, т.к. в ведре нет места для очередных полутора литров воды. Предположим, что мы выполняем правила и не посылаем очередной ячейки, т.е. уровень воды в ведре остается прежним. В следующий момент вытекает и оставшаяся вода и мы снова имеем пустое ведро, т.е. то состояние, с которого начали.
Такой тип трафика называют “равномерным”, поскольку он имеет периодичный характер. В данной случае за три единицы времени передаются две ячейки и это повторяется периодически. Конечно, две ячейки из трех дают отношение, обратное инкрементному параметру l=1,5. Меняя величину параметра “l” и скорость вытекания можно получить желаемое соотношение переданных ячеек и общего времени - 17 из 23, 15 из 16 и т.д. Это дает полную гибкость для достижения любой степени детализации скорости передачи.
Теперь рассмотрим пример неравномерного трафика. Увеличим значение ограничивающего параметра до 7, а инкрементного - до 4,5, т.е. емкость ведра составит 7 + 4,5=11,5.
В данном примере передаются три ячейки и ведро после них заполнено почти полностью, т.к. инкрементный параметр достаточно велик. После этого приходится ждать (и достаточно долго), пока вода будет выливаться из ведра литр за литром, прежде чем можно будет передавать очередную ячейку. Если дождаться момента полного освобождения ведра, то можно будет опять передать очередную порцию из трех ячеек.
Этот пример демонстрирует тот факт, что увеличение ограничивающего параметра позволяет обслуживать значительно неравномерный тип трафика.
Поле идентификатора типа нагрузки (Payload Type Identifier) содержит три бита. Первый бит служит для обозначения собственно типа ячейки: пользовательская или служебная. (Служебные ячейки могут использоваться для диагностики сети АТМ. Допустим, что посылаемые в сеть ячейки не достигают пункта назначения. Тогда можно послать в сеть ячейку с установленным битом - служебную ячейку. Эта ячейка будет иметь тот же VPI/VCI и будет проходить тем же маршрутом. Однако, поскольку это служебная ячейка, коммутаторы могут идентифицировать ее и размещать в поле нагрузки данной ячейки информацию о ее прохождении. Более того, в некоторой точке сети ячейка может быть отправлена обратно).
Если ячейка пользовательская, то второй бит PTI называется битом уведомления приемника о перегрузке (Explicit Forward Congestion Indicator - EFCI). Если ячейка проходит через точку сети, которая находится в состоянии перегрузки, то данный бит устанавливается. В этой точке бит EFCI используется для управления перегрузкой для категории обслуживания доступной скорости передачи ARB.
Опять же, если ячейка пользовательская, третий бит переносится сетью прозрачно. В настоящее время он определен только для использования уровнем адаптации АТМ AAL5.
Поле основного управления потоком (Generic Flow Control) занимает первые четыре бита заголовка. Оно определено только для UNI. Оно не используется в интерфейсе узел - сеть (Network Node Interface - NNI), который является интерфейсом коммутаторов АТМ.
Поле GFC в настоящее время еще не определено, зарезервировано и принято равным нулю. Возможным использованием этого поля может являться управление потоком или множественный доступ к разделяемой сети АТМ с использованием местных средств доступа.
Последние восемь бит заголовка являются контрольной суммой заголовка (header error check - HEC). При прохождении ячейки через сеть ее VPI/VCI могут быть испорчены ошибками, что может привести к доставке ячейки не по назначению. Для обнаружения и исправления ошибок в заголовке используется HEC. Кроме того, HEC может использоваться физической средой, например, SDH при определении границ ячеек.
HEC может использоваться в двух режимах. Первым является режим обнаружения ошибок с помощью циклического кода (CRC). Если ошибка в заголовке обнаруживается, то ячейка сбрасывается. Вторым режимом является режим исправления одиночных ошибок. Применение того и другого режима зависит от используемой физической среды. Если используется оптическое волокно, то исправления однократной ошибки оказывается вполне достаточно, поскольку в данной физической среде наиболее вероятны такие ошибки. При использовании в качестве физической среды медного кабеля наиболее вероятно группирование ошибок. В данном случае применение режима исправления однократной ошибки увеличивает риск восприятия многократной ошибки как однократной и ее неправильного “исправления”. Это происходит потому, что свойства обнаружения ошибок ухудшаются в режиме исправления ошибок.
Отметим, что HEC пересчитывается от соединения к соединению, поскольку она зависит от значений VPI/VCI, которые меняются при прохождении через сеть.
Рассмотрев физический уровень и заголовок ячейки, рассмотрим как коммутируются ячейки. В данном разделе дается общее описание способов коммутации, применяемых в коммутаторах АТМ.
На рисунке показана общая схема коммутатора. В состав коммутатора входит коммутационное поле определенного типа, а также входные и выходные процессоры.
Входной процессор анализирует заголовок и определяет в какой выходной порт должна направляться ячейка. Коммутатор использует рассмотренную выше таблицу соединений, причем ярлык может применяться или не применяться. (Обычно ярлык используется. Ярлык (tag) является сообщением процессора коммутационному полю, в котором коммутационному полю сообщается каким образом обрабатывать данную ячейку. Ярлык используется только внутри коммутатора, его формат различен для разных коммутаторов и зависит от типа коммутационного поля.)
Заметим, что коммутационное поле, входные и выходные процессоры могут буферизировать информацию. Когда говорят о коммутаторе с буферизацией по входу, коммутаторе с буферизацией по выходу или коммутаторе с буферизацией в коммутационном поле, то это означает, что в данном узле производится основная буферизация ячеек.
Небольшие коммутаторы АТМ, применяемые в локальных сетях, обычно строятся на основе общей среды, чаще всего разделяемой магистрали (шины) (Shared Backplane). На рисунке показаны входные процессоры, преобразующие VPI/VCI в ярлык. Доступ входных процессоров к общей разделяемой шине осуществляется на основе арбитража шины. Один из входных процессоров получает доступ к шине и посылает ячейку через общую шину на входы всех выходных процессоров.
Выходные процессоры анализируют ярлык с целью установления принадлежности данной ячейки данному выходному процессору. Выходной процессор, которому предназначается ячейка, считывает ее с шины, убирает ярлык (это выполняет фильтр ярлыков) и записывает ячейку в выходной буфер для последующей передачи в линию.
Заметим, что поскольку каждый выходной процессор видит каждую ячейку, то для данной архитектуры вполне естественной является передача широковещательных сообщений. Для этой цели возможно использование специального типа ярлыка.
В соединениях АТМ типа “точка - много точек” одна ячейка многократно копируется для передачи в сеть АТМ. Для таких соединений архитектура с разделяемой магистралью является наиболее приемлемой.
Очень важным моментом в коммутации АТМ является управление выходным буфером. Наличие выходного буфера необходимо, поскольку на данный выходной порт могут поступать ячейки с нескольких входных портов и эти ячейки необходимо хранить до того, как они будут направлены в линию.
На рисунке не случайно показаны два буфера. Почему два? Прежде всего по тому, что обычно гарантируются два типа качества обслуживания.
Например, для речи желательно иметь малую задержку. На практике допустимо даже потерять ячейку с речевой информацией, нежели получить ее со значительной задержкой. Такой тип трафика можно направлять в отдельный относительно малый буфер.
Передача данных, в отличие от речи, предъявляет совершенно другие требования. В этом случае потеря ячеек крайне нежелательна, поэтому для данного типа трафика организуется относительно большой буфер. Это несколько увеличит задержку на передачу данных, но потери ячеек будут существенно меньше.
Еще одной возможной архитектурой является так называемая “разделяемая” или “коллективная память” (Shared Memory). Это двухпортовая память с возможностью чтения и записи в N раз быстрее скорости поступления ячеек с портов (N – число портов).
Входные процессоры принимают ячейки. Устройство управления очередью определяет последовательность записи ячеек в буферы разделяемой памяти и считывания ячеек в буферы выходных процессоров. Назначение выходных процессоров аналогично рассмотренному выше.
В данной архитектуре передача широковещательных сообщений обеспечивается хранением ячеек в буферах разделяемой памяти и их многократной записью в выходные порты. В данном случае основная буферизация производится в разделяемой памяти, т.е. в коммутационном поле.
Третьим типом архитектуры является пространственное разделение на основе простейших коммутационных элементов (self-routing fabric). Эта технология позволяет строить коммутационные элементы на основе многих небольших логических элементов.
Ярлык идентифицирует назначение ячейки. Каждый элемент принимает логическое решение. Например, допустим, что входящая ячейка получила ярлык 111. Первый бит анализируется на первом шаге. Поскольку он равен 1, ячейка коммутируется на нижний выход элемента и попадает на вход второго логического элемента. Он анализирует второй бит ярлыка и, поскольку он равен 1, также коммутирует ячейку на свой нижний выход. Третий элемент обнаруживает, что третий бит ярлыка также равен 1, и направляет ячейку на нижний выходной порт. Следовательно, ячейка с ярлыком 111 коммутируется на нижний порт независимо от номера входного порта, с которого она поступила. Таким образом, ярлык однозначно определяет номер выходного порта.
Однако, в данной архитектуре возможен конфликт при одновременной коммутации нескольких ячеек, поскольку ячейки могут предназначаться для одного и того же выходного порта. Для предотвращения этого используются определенные технические решения, основанные на анализе возможности появления таких конфликтов. После принятия решения о возможном возникновении конфликта одна из потенциально конфликтующих ячеек временно задерживается во входном буфере.
Одной из интересных особенностей данной архитектуры является то, что увеличивая число столбцов и строк логических элементов, можно получить достаточно большое число портов. Соответственно можно получать все большие и большие коммутаторы. Поэтому иногда данную архитектуру называют бесконечно наращиваемой коммутационной технологией.
В предыдущих подразделах мы рассмотрели, каким образом устанавливаются соединения внутри коммутаторов АТМ. Каким же образом устанавливаются соединения на сети?
Одним из видов соединений являются постоянные виртуальные соединения (permanent virtual connection - PVC). Эти соединения устанавливаются по некоторым правилам обслуживания сети. В общем случае на сети имеется некоторая система управления (network management system - NMS), которая сообщает устройствам сети значения VPI/VCI для необходимых соединений. Коммутаторам АТМ передаются таблицы соединений (маршрутизации).
Такие соединения наиболее целесообразно устанавливать на сети АТМ с малым числом подключенных устройств со стабильным местоположением (аналогом может служить телефонная сеть, построенная на основе выделенных линий). Так же эти соединения целесообразно устанавливать, если имеется значительное информационное тяготение между двумя пунктами сети. В этом случае нет необходимости часто устанавливать и отменять соединения. Именно поэтому данные соединения получили название постоянных.
Другим видом устанавливаемых на сети АТМ соединений являются коммутируемые виртуальные соединения (switched virtual connection - SVC). Эта техника позволяет терминалу устанавливать и отменять соединения в динамике.
Для возможности установления коммутируемых соединений используется протокол сигнализации (signaling protocol). Для целей сигнализации в качестве канала сигнализации зарезервировано значение VPI/VCI=0/5.
SVC устанавливается менее чем за секунду.
Рассмотрим процесс установления SVC более подробно.
Предположим, что абонент А хочет связаться с абонентом Б. Сначала по сигнальному каналу передается сообщение “установка” (setup). Это сообщение содержит множество информации, в том числе адреса обоих абонентов, характеристики трафика, требуемое качество обслуживания. Кроме того, в сообщении установки содержится идентификатор (указатель) вызова, поскольку с помощью канала сигнализации VPI/VCI=0/5 устанавливается множество соединений и они должны быть различимы для сети.
На этой стадии ближний к абоненту А коммутатор просто подтверждает соединение и определяет для него значение VPI/VCI. Соединение еще реально не установлено - оно не может использоваться для передачи информации - однако, терминал уже имеет значение VPI/VCI.
Сеть проверяет ресурсы, ищет пути, и т.д., стараясь найти путь к вызываемому абоненту с соответствующими характеристиками.
Следующий момент является эквивалентом вызова (звонка). Сообщение, поступающее в терминал вызываемого абонента, индицирует входящий вызов, включает информацию о характеристиках трафика и пр.
Вызываемый терминал подтверждает получение данной информации. Терминал как бы говорит сети: “Хорошо, я подумаю” и начинает проверку своих собственных ресурсов на соответствие предъявляемым к соединению требованиям.
Предположим, что у вызываемого терминала достаточно ресурсов. Тогда он посылает сети сообщение о соединении со смыслом “Я готов!”.
Данное сообщение о соединении проходит обратно через сеть к вызывающему терминалу, которое говорит: “Соединение установлено. Можно начать передачу информации”.
Устанавливаемое соединение помечается в таблицах соединений коммутаторов сети. Если по каким-либо причинам соединение не может быть установлено, то сеть должна быть возвращена в исходное состояние и сделанные ранее записи для этого соединения должны быть удалены из таблиц.
Для правильной работы протокола сигнализации необходима некоторая схема нумерации сети. Вероятно, корпоративные сети АТМ будут использовать нумерацию Network Service Access Point (NSAP) Международной организации стандартизации (МОС), прежде всего по причине наличия административного процесса получения номера. (Одним из важнейших моментов нумерации является уверенность в уникальности нового присвоенного номера. Этим занимается административный орган МОС, реализующий стандарты нумерации МОС. Например, вы являетесь правительственной организацией. Для правительственных организаций зарезервирован блок адресов, и организация имеет право получить соответствующие номера. Оператор большой корпоративной сети может получить блок номеров по заявке. Малая сеть может получить номера через системного интегратора.)
Сети АТМ общего пользования возможно будут использовать нумерацию по рекомендации Е.164 МСЭ-Т аналогично нумерации автоматически коммутируемых телефонных сетей общего пользования. Использование иной схемы нумерации может только задержать внедрение АТМ в сети общего пользования.
Для того, чтобы схема адресации была применима, должен быть стандартизирован формат адреса, понимаемый всеми коммутаторами в системе. Например, для телефонной связи используется определенный формат номера для вызовов внутри страны. При международном вызове этот формат дополняется кодом страны.
Каждое сообщение о установке соединения содержит два поля: идентификаторы вызываемой и вызывающей сторон.
На рисунке показаны три формата адресов, которые были определены Форумом АТМ. Первый байт в поле адреса идентифицирует используемый формат адреса. (Значения этого поля, отличные от трех приведенных, зарезервированы и/или используются для других целей).
Рассмотрим данные три формата.
Независимо от используемого формата необходимо достичь официальной глобальной уникальности номеров во избежание конфликтов при росте сети или при объединении нескольких сетей АТМ между собой.
За полями DCC, ICD или за полем номера Е.164 в случае использования этого формата следует поле маршрутизации. Для DCC и ICD оно содержит информацию о вызываемом адресе и может рассматриваться как адресное пространство. Термин “поле маршрутизации” подразумевает, что данное поле может содержать больше, чем просто адрес вызываемой стороны. В частности, механизм адресации должен быть достаточно иерархическим, чтобы обеспечивать маршрутизацию. В случае Е.164 использование поля маршрутизации в настоящее время не определено.
Каждый адрес в поле маршрутизации может означать конкретный коммутатор или даже конкретный UNI коммутатора. Если определяется коммутатор, то требуется больше информации для нахождения конкретного UNI. С другой стороны, если специфицируется UNI, то этого достаточно, чтобы обслуживать его как уникальный, глобально определенный адрес.
В предыдущем подразделе были рассмотрены первые 13 байт адреса.
Рассмотрим случай адресации первыми 13 байтами адреса конкретного коммутатора. В этом случае коммутирующая система должна определить соответствующий вызываемый UNI.
Это может быть сделано с помощью оставшихся 6 бит, называемых идентификатором конечной системы (End System ID). Конечные системы или терминалы может содержать дополнительную адресную информацию. Например, терминал может использовать последние 6 байт адреса для идентификации конкретного UNI. Таким образом, весь коммутатор адресуется 13 байтами, а индивидуальные подключения - идентификатором конечной системы.
Этот механизм может представлять интерес при создании большой “виртуальной корпоративной сети”, т.е. возможно получение адресов коммутации от соответствующей организации и затем местное распределение идентификаторов конечной системы. Преимуществом такого подхода является распределение индивидуальных адресов без привлечения сторонней организации. Однако, абоненту внешней сети необходимо знание значений обоих полей адреса для возможности вызова из внешней сети.
Обычно в 6-байтное (48 бит) поле идентификатора конечной системы заносится уникальный 48-битный МАС-адрес сетевой интерфейсной карты (Network Interface Card - NIC).
Конечно, коммутатор АТМ и терминал АТМ должны знать эти адреса для маршрутизации вызовов, обмена сигнальными сообщениями и пр. Обмен адресной информацией производится автоматически через интерфейс ILMI, причем коммутатор определяет 13 байт адреса (поля маршрутизации), а терминал - 6 байт (идентификатор конечной системы).
Байт селектора (S) не используется сетью АТМ, но передается ею прозрачно. Он может использоваться для определения некоторых параметров терминала, например, определять используемый стек протоколов.
Итак, мы имеем возможность доставлять ячейки с места на место. Но это само по себе не очень интересно. Например, совсем неинтересно получить письмо, порванное на кусочки. Ролью уровней адаптации АТМ (ATM Adaptation Layer - AAL) как раз и является обработка содержимого ячеек.
Механизм обработки содержимого ячеек предполагает некоторый систематизированный подход к классификации различных типов услуг, которые могут поддерживаться сетью АТМ. Рассмотрим, каким образом определяются протоколы уровней адаптации.
В таблице приведены результаты работы МСЭ-Т по определению классов услуг. Таблица читается по столбцам. Класс А имеет следующие характеристики:
Таким образом, класс А эмулирует соединение через сеть АТМ. Это очень важно для приложений мультимедиа, поскольку в настоящее время все методы и технологии передачи речи и видео ориентированы на использование соединений. Отсюда вытекает требование поддержки сетью АТМ услуги эмуляции соединений (circuit emulation service - CES).
Класс B имеет аналогичные характеристики за исключением переменной скорости потока. В ряде случаев переменная скорость потока может хорошо отражать неравномерный тип трафика (например, случай компрессированного видеосигнала).
Классы C и D имеют переменную скорость потока, но не имеют согласования по синхронизации. Они ориентированы на передачу данных и различие в них заключается в требовании установления соединения.
Класс |
A |
B |
C |
D |
|
Согласование синхронизации (End-to-end timing) |
Требуется |
Не требуется |
|||
Скорость потока (Bit rate) |
Постоянная |
Переменная |
|||
Вид соединения (Connection mode) |
С установлением соединения |
Без установления соединения |
Примеры:
Класс А - передача речи со скоростью 64 кбит/с;
Класс B - компрессированный видеосигнал с переменной скоростью;
Класс C - Frame Relay через АТМ;
Класс D - МСЭ-Т I.364 (SMDS) через АТМ;
Класс X - Трансляция ячеек (raw cell service) (прозрачный AAL).
На рисунке показана структура кадра класса А для AAL1. Первый из 48 байтов нагрузки ячейки АТМ используется в качестве заголовка данного протокола.
Заголовок выполняет несколько функций, в том числе обнаружение потерянных ячеек и поддержку метки времени для обеспечения синхронизации между двумя конечными системами. Также возможно использование этого заголовка для определения границ октетов, что может понадобиться при эмуляции соединения типа цифрового потока Е-1.
Основным требованием AAL1 является согласование частоты синхронизации для правильного восстановления цифрового потока на приеме.
В качестве примера рассмотрим передачу речи со скоростью 64 кбит/с. Передатчик собирает отсчеты, наполняет ими ячейки и направляет последние в сетью с периодом около 6 мс. Приемник показан на рисунке. Задачей приемника является восстановление исходного потока со скоростью 64 кбит/с. Рассмотрим влияние задержки и джиттера задержки на работу приемника.
Во-первых, необходимо, чтобы скорость восстановленного потока совпадала со скоростью исходного потока. Если скорость считывания из буфера будет большой (больше скорости прибытия ячеек), то его содержимое быстро исчерпается. Если скорость считывания будет мала, то буфер переполнится и начнется потеря ячеек. Решение состоит в том, что приемник следит за наполненностью буфера относительно среднего значения (water mark). Если буфер начинает пустеть, то скорость считывания уменьшается, если буфер начинает наполняться - увеличивается, т.е. скорость приемника выравнивается относительно скорости передатчика.
Размер буфера зависит от интенсивности поступления ячеек из сети. А ячейки могут вести себя как общественный транспорт. Можно простоять на остановке целый час в ожидании автобуса, а потом подойдут сразу три. То есть чем больше неравномерность поступления ячеек, тем больше должен быть буфер приемника. Фактически, джиттер задержки ячеек, возникающий при прохождении через сеть, непосредственно отражается на размере буфера. Джиттер задержки ячеек является очень важным фактором качества обслуживания.
Вторым важным моментом является обнаружение потери ячеек. Часть заголовка протокола представляет собой последовательный номер. Он предназначен не для нумерации ячеек, а для обнаружения потери ячеек. Если последовательность в номерах отсутствует, это означает потерю ячейки. Приемник вставляет на ее место ячейку-заменитель. В противном случае скорость выходного потока должна измениться.
Интересно, что с помощью такой схемы можно эмулировать соединения практически любой скорости.
AAL2 определен для класса В, но еще разрабатывается. Он может быть важен, поскольку предоставляет возможность использования АТМ для поддержки неравномерного трафика.
В протоколе AAL3/4 перед и после исходного пакета данных добавляются контрольные суммы (CRC). Получившийся блок разбивается на подблоки по 44 байта, к которым добавляются 2 байта в начале и 2 байта в конце, что в сумме составляет 48 байт.
Последние два байта также являются контрольной суммой (CRC), но уже индивидуальной для ячейки.
Два байта в начале представляют собой идентификатор сообщения (Message Identifier - MID). MID позволяет мультиплексировать и менять местами составные части больших пакетов в одном виртуальном канале, что в свою очередь повышает эффективность использования канала.
Уровень AAL5 также ориентирован на передачу данных. К пакету данных добавляется контрольная сумма, а так же дополнение такого размера, чтобы результирующая длина всей конструкции представляла целое число 48-байтных подблоков. Последние являются нагрузкой ячейки АТМ.
Для определения последней ячейки при сборке пакета на приеме используется один из битов поля PTI заголовка ячейки АТМ.
Приемник собирает ячейки в пакет на основе значения VPI/VCI. Для данного VPI/VCI собирается один большой пакет. Это означает, что в одном виртуальном канале не должны одновременно существовать ячейки, несущие данные разных пакетов. Естественно, этот тип обмена приемлем только при невысокой стоимости виртуального канала.
Рассмотрим корпоративную сеть АТМ, показанную в левом верхнем углу рисунка. Интерфейс между терминалом и коммутатором называется частным интерфейсом пользователь-сеть (private UNI). Аналогичный интерфейс сети АТМ общего пользования называется интерфейсом пользователь-сеть сети общего пользования (public UNI).
Эти два интерфейса схожи. Они имеют одинаковые размеры и форматы ячеек. Различия между ними заключается в использовании различных физических уровней. Так, интерфейс UNI сети общего пользования ориентирован на использование, в основном, цифрового потока T3 и других высокоскоростных соединений.
Коммутаторы АТМ необходимо связать с друг другом некоторым стандартным образом для образования сети. Для соединения коммутаторов корпоративной сети предназначен интерфейс сетевого узла (PNNI). На самом деле P-NNI это не только интерфейс, а скорее протокол взаимодействия многих коммутаторов в единой сети.
Соответствующий протокол сети общего пользования называется интерфейсом сетевого узла сети общего пользования (Public NNI). Он выполняет аналогичные функции и в целом схож с NNI, однако он не стандартизирован до настоящего времени из-за проблем адресации.
Интерфейс обмена данными (DXI) АТМ позволяет осуществлять доступ к сети АТМ существующего оборудования (например, маршрутизаторов) без его модернизации.
Физическими интерфейсами DXI обычно являются интерфейсы типа V.35 или высокоскоростного последовательного интерфейса HSSI. Формат данных соответствует протоколу HDLC.
Мультиплексор доступа преобразует кадры HDLC в ячейки, при необходимости преобразует трафик для выполнения соглашения по трафику. Сопряжение с сетью АТМ производится по интерфейсу UNI.
Основанный на кадрах интерфейс UNI (Frame-Based UNI - FUNI) очень похож на интерфейс DXI. Основное отличие состоит в том, что функция SAR выполняется сетью.
Основной целью данного интерфейса является предоставление доступа к АТМ на скорости n´ 64 кбит/с. На этих скоростях стоимость доступа очень низка. При использовании доступа на основе ячеек эффективность ниже из-за заголовка ячейки, что делает доступ медленнее (и дороже) по сравнению с протоколами на основе кадров, таких как Frame Relay.
Использование кадров HDSL в FUNI дает эффективность Frame Relay наряду с мощью сигнализации АТМ, которая в свою очередь включает поддержку SNMP и MIB.
На рисунке показана структура ячейки NNI. Отличие от формата ячейки UNI заключается в первых четырех битах заголовка. Вместо поля GFC увеличена длина поля VPI до 12 бит. Это дает возможность установление большого количества виртуальных соединений через одно физическое соединение между коммутаторами сети АТМ.
Так же NNI выполняет функцию распределения сведений о текущей топологии сети между коммутаторами. При изменении топологии (при обрыве физических соединений или другой неисправности) коммутаторы должны знать, что произошло, какие соединения нарушены и какие требуют переустановления.
Интерфейс взаимодействия широкополосных сетей (B-ICI) в его начальной версии являлся технологией мультиплексирования. Он определяет, каким образом две сети могут использовать технологию АТМ для мультиплексирования многочисленных служб для передачи по одной линии и, следовательно, осуществлять обмен информацией и согласование в порядке обслуживания. Основой B-ICI являются высокоскоростные цифровые потоки.
Стандартизированными услугами B-ICI являются:
Пользователи сетей “не видят” это интерфейса, но он является важным, поскольку позволяет переносить межсетевой трафик.
Одной из основ совместимости управления АТМ является промежуточный локальный интерфейс управления (Interim Local Management Interface - ILMI), определенный стандартом UNI 3.0. Существуют две основные части ILMI. Первая является управляющим приложением, называемым объектом управления UNI (UNI Management Entity - UME). UME выполняет роль управляющего приложения SMNP. Вторая часть представляет собой агента SMNP и MIB управления АТМ.
Обе конечные станции и коммутатор АТМ имеют обе части: UME и агента ILMI с MIB. Это позволяет производить соответствующий обмен информацией управления. Этим система управления АТМ отличается от стандартного SMNP с иерархическим взаимоотношением агента и управляющего приложения.
Протокол SMNP непосредственно транспортируется между двумя устройствами АТМ уровнем адаптации AAL5.
ILMI MIB предоставляет управляющему приложению совместимость по управлению и мониторингу соединения АТМ и физического уровня протокола. Также MIB поддерживает регистрацию адресов.
В настоящее время совместимость управления ILMI является основной функцией управления АТМ. ILMI основывается на стандарте UNI 3.0 и может использоваться для управления ресурсами базовой сети АТМ. ILMI может использоваться для взаимного управления между конечной станцией АТМ и коммутатором АТМ, а также между коммутатором корпоративной сети и коммутатором сети общего пользования.